package com.example.demo.typeEnums;

import java.util.Calendar;

/**
 * @author 又菜又爱浪
 * @date 2021-12-20
 * 循环类型枚举
 */
public enum LoopType {
    /**
     * 不循环
     */
    NO_LOOP("NO_LOOP",0),
    /**
     * 年
     */
    YEAR("YEAR", Calendar.YEAR),
    /**
     * 月
     */
    MONTH("MONTH",Calendar.MONTH),
    /**
     * 周
     */
    WEEK("WEEK",Calendar.WEEK_OF_YEAR),
    /**
     * 天
     */
    DAY("DAY",Calendar.DAY_OF_MONTH),
    /**
     * 小时
     */
    HOUR("HOUR",Calendar.HOUR),
    /**
     * 分
     */
    MINUTE("MINUTE",Calendar.MINUTE),
    /**
     * 秒
     */
    SECOND("SECOND",Calendar.SECOND),
    ;

    private String name;
    private Integer value;

    LoopType(String name,Integer value) {
        this.name = name;
        this.value = value;
    }

    public String getName(){
        return name;
    }
    public Integer getValue() {
        return value;
    }

    public static LoopType getLoopType(String name, Integer value){
        for(LoopType executeType : LoopType.values()){
            if(executeType.name.equals(name) || executeType.value.equals(value)){
                return executeType;
            }
        }
        return NO_LOOP;
    }
}
